// samsting : this file is auto create.

#ifndef ALIYUN_Rds_DescribeSlowLogsResponse_H_
#define ALIYUN_Rds_DescribeSlowLogsResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Rds {

class DescribeSlowLogsResponse : public AcsResponse {
public:
  DescribeSlowLogsResponse();

  class SQLSlowLog {
    friend class DescribeSlowLogsResponse;
  public:
    int64 GetSlowLogId(void) const;
    int64 GetSQLId(void) const;
    const string& GetDBName(void) const;
    const string& GetSQLText(void) const;
    int64 GetMySQLTotalExecutionCounts(void) const;
    int64 GetMySQLTotalExecutionTimes(void) const;
    int64 GetTotalLockTimes(void) const;
    int64 GetMaxLockTime(void) const;
    int64 GetParseTotalRowCounts(void) const;
    int64 GetParseMaxRowCount(void) const;
    int64 GetReturnTotalRowCounts(void) const;
    int64 GetReturnMaxRowCount(void) const;
    const string& GetCreateTime(void) const;
    int64 GetSQLServerTotalExecutionCounts(void) const;
    int64 GetSQLServerTotalExecutionTimes(void) const;
    int64 GetTotalLogicalReadCounts(void) const;
    int64 GetTotalPhysicalReadCounts(void) const;
    const string& GetReportTime(void) const;
    int64 GetMaxExecutionTime(void) const;
    int64 GetAvgExecutionTime(void) const;
  private:
    int64  SlowLogId_;
    int64  SQLId_;
    string DBName_;
    string SQLText_;
    int64  MySQLTotalExecutionCounts_;
    int64  MySQLTotalExecutionTimes_;
    int64  TotalLockTimes_;
    int64  MaxLockTime_;
    int64  ParseTotalRowCounts_;
    int64  ParseMaxRowCount_;
    int64  ReturnTotalRowCounts_;
    int64  ReturnMaxRowCount_;
    string CreateTime_;
    int64  SQLServerTotalExecutionCounts_;
    int64  SQLServerTotalExecutionTimes_;
    int64  TotalLogicalReadCounts_;
    int64  TotalPhysicalReadCounts_;
    string ReportTime_;
    int64  MaxExecutionTime_;
    int64  AvgExecutionTime_;
  }; // SQLSlowLog 

  const std::vector<SQLSlowLog>& GetItems(void) const;
  const string& GetEngine(void) const;
  const string& GetStartTime(void) const;
  const string& GetEndTime(void) const;
  int  GetTotalRecordCount(void) const;
  int  GetPageNumber(void) const;
  int  GetPageRecordCount(void) const;

private:
  std::vector<SQLSlowLog> Items_;
  string Engine_;
  string StartTime_;
  string EndTime_;
  int    TotalRecordCount_;
  int    PageNumber_;
  int    PageRecordCount_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Rds {

#endif // #ifndef ALIYUN_Rds_DescribeSlowLogsResponse_H_

// end of file 
